#ifndef __BILBAO_LANG_EXCEPTION_CLASS_H__
#define __BILBAO_LANG_EXCEPTION_CLASS_H__

#include "bilbao/types.h"

namespace bilbao
{
	namespace lang
	{
		class Exception : public std::exception
		{
		public:
			/** 
			 * Construct with no message.
			 */
			Exception(void);

		    /**
			 *
			 */
			Exception( const std::string& message );

			/**
			 *
			 */
			Exception( const char* message );

			/** 
			 * Destructor.
			 */
			virtual ~Exception(void) throw();

			/**
			 *
			 */
			const char* getMessage(void) const;

		private:
			//
			std::string _message;

		};
	} // namespace lang
} // namespace bilbao

#endif//__BILBAO_LANG_EXCEPTION_CLASS_H__
